package com.zhangsun.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhangsun.system.entity.RoleEntity;
import com.zhangsun.system.entity.RoleResourceEntity;
import com.zhangsun.system.vo.role.RoleEditVo;
import com.zhangsun.system.vo.role.RolePageVo;

import java.util.List;

/**
 * <p>
 * 角色 服务类
 * </p>
 *
 * @author zhangsun
 * @since 2019-07-23
 */
public interface RoleService extends IService<RoleEntity> {

    /**
     * 获取用户角色
     *
     * @param userId 用户id
     * @return 角色
     */
    List<RoleEntity> findRolesByUser(String userId);

    /**
     * 获取角色
     *
     * @param vo 条件
     * @return 结果
     */
    Object findAll(RolePageVo vo);

    /**
     * 创建角色
     *
     * @param vo 角色
     */
    void create(RoleEditVo vo);

    /**
     * 获取角色
     *
     * @param id 角色id
     * @return 角色
     */
    RoleEntity findById(String id);

    /**
     * 更新角色
     *
     * @param vo 角色
     */
    void update(String id, RoleEditVo vo);

    /**
     * 删除角色
     *
     * @param id 角色id
     */
    void delete(String id);
}
